<!DOCTYPE html> 
<html style="width:100%; height:100%; overflow:hidden;"><head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title>Component</title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1">
        <link rel="stylesheet" href="../../themes/default/nex.css">
        <link rel="stylesheet" href="../../themes/default/form/form.css">
        <link rel="stylesheet" href="../asset/css/style.css">
        <script src="../../boot.js"></script>
        <script src="../asset/js/jquery.min.js"></script>
        <style>
  #parent {
    width: 60%;
    height: 40px;
    margin: 0 auto;
    padding: 5px;
    border: 1px solid #777;
    background-color: #fbca93;
    text-align: center;
	padding:10px;
  }
  .positionable {
    position: absolute;
    display: block;
    right: 0;
    bottom: 0;
    background-color: #bcd5e6;
    text-align: center;
  }
  #positionable1 {
    width: 475px;
    height: 100px;
  }
  #positionable2 {
    width: 120px;
    height: 100px;
  }
  select, input {
    margin-left: 15px;
  }
  .ct {
	  width: 700px;
	  margin:70px auto;
	  position:relative;
	  padding:50px;
	  background: #f2f2f2;
	  border:15px solid red;
	 }
  </style>
    </head>
    <body style="width:100%; height:100%; padding:0; margin:0; overflow:hidden;">
   	<div class="ct" id="ct"  style=" overflow: scroll"> 
<div id="parent">
  <p>
  This is the position parent element.
  </p>
</div>
 
<div class="positionable" id="positionable1">
  <p>
  to position
  </p>
</div>
 
<div class="positionable" id="positionable2">
  <p>
  to position 2
  </p>
</div>
 
<div style="padding: 20px; margin-top: 75px;">
  position...
  <div style="padding-bottom: 20px;">
    <b>my:</b>
    <select id="my_horizontal">
      <option value="left">left</option>
      <option value="center">center</option>
      <option value="right">right</option>
    </select>
    <select id="my_vertical">
      <option value="top">top</option>
      <option value="center">center</option>
      <option value="bottom">bottom</option>
    </select>
  </div>
  <div style="padding-bottom: 20px;">
    <b>at:</b>
    <select id="at_horizontal">
      <option value="left">left</option>
      <option value="center">center</option>
      <option value="right">right</option>
    </select>
    <select id="at_vertical">
      <option value="top">top</option>
      <option value="center">center</option>
      <option value="bottom">bottom</option>
    </select>
  </div>
  <div style="padding-bottom: 20px;">
    <b>collision:</b>
    <select id="collision_horizontal">
      <option value="flip">flip</option>
      <option value="fit">fit</option>
      <option value="flipfit">flipfit</option>
      <option value="none">none</option>
    </select>
    <select id="collision_vertical">
      <option value="flip">flip</option>
      <option value="fit">fit</option>
      <option value="flipfit">flipfit</option>
      <option value="none">none</option>
    </select>
  </div>
</div>
 
 </div>
     <script type="text/javascript">
	 $(function(){
		 require(['Nex/jqueryui/position'], function(){ //Nex/util/position
			function position() {
      $( ".positionable" ).position({
        of: $( "#ct" ),
        my: $( "#my_horizontal" ).val() + " " + $( "#my_vertical" ).val(),
        at: $( "#at_horizontal" ).val() + " " + $( "#at_vertical" ).val(),
		within : $('#ct'), //相当于之前的parent
        collision: $( "#collision_horizontal" ).val() + " " + $( "#collision_vertical" ).val(),
		using : function(pos){
			$(this).animate(pos, 300)
			console.log(this, arguments);	
		}
      });
    }
 
			$( ".positionable" ).css( "opacity", 0.5 );
		 
			$( "select, input" ).bind( "click keyup change", position );
		 /*
			$( "#parent" ).draggable({
			  drag: position
			});
		 */
			position();
		 });	 
	 });
	 </script>
     
    </body>
</html>
